// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from 'vscode';

// This method is called when your extension is activated
// Your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {
  // Use the console to output diagnostic information (console.log) and errors (console.error)
  // This line of code will only be executed once when your extension is activated
  console.log(
    'Congratulations, your extension "official-example" is now active!'
  );

  // The command has been defined in the package.json file
  // Now provide the implementation of the command with registerCommand
  // The commandId parameter must match the command field in package.json
  const disposable = vscode.commands.registerCommand(
    'official-example.helloWorld',
    () => {
      // The code you place here will be executed every time your command is executed
      // Display a message box to the user
      vscode.window.showInformationMessage(
        'New Hello World from official-example!'
      );
    }
  );
  const disposable_2 = vscode.commands.registerCommand(
    'extension.demo.getCurrentFilePath',
    (uri) => {
      // The code you place here will be executed every time your command is executed
      // Display a message box to the user
      vscode.window.showInformationMessage(
        `当前文件(夹)路径是：${uri ? uri.path : '空'}`
      );
    }
  );

  context.subscriptions.push(disposable);
  context.subscriptions.push(disposable_2);

  // 编辑器命令
  context.subscriptions.push(
    vscode.commands.registerTextEditorCommand(
      'extension.testEditorCommand',
      (textEditor, edit) => {
        console.log('您正在执行编辑器命令！');
        console.log(textEditor, edit);
      }
    )
  );
}

// This method is called when your extension is deactivated
export function deactivate() {}
